<?php
/**
 * Created by PhpStorm.
 * User: lingyun
 * Date: 2018/3/29
 * Time: 15:31
 * Desc: 公共基础类 -- 会员身份判断
 *      登录之后永久保存会员的账号以及密码
 */
namespace app\index\controller;
use think\Controller;
use think\Db;
use pinyin\Pinyin;
use controller\BasicWechat;
class Base1 extends Controller{
    /**
     * @Author  lingyun
     * @Desc    基础方法 -- 检测浏览器类型
     *          1、判断是否是微信，如果是，则自动授权登录，先不用完善个人信息，将微信的个人信息一致保存session，涉及需要个人信息的地方再去完善个人信息
     *          2、不是微信则不用授权登陆
     */
    public function _initialize(){
        $uid = cookie('c_user')['uid'];         //会员的id
        if(!empty($uid)) {
            $user = db('user')->where('uid', $uid)->find();
            if ($user['status'] == 1 && $user['is_deleted'] == 0) {
                session('_user_uid_.uid', $user['uid']);
                session('_user_uid_.mobile', $user['mobile']);
                session('_user_uid_.realname', $user['realname']);
                session('_user_uid_.nickname', $user['nickname']);
                $cookie_data = [
                    'uid'=>$user['uid'],
                    'mobile'=>$user['mobile'],
                    'realname'=>$user['realname'],
                    'nickname'=>$user['nickname'],
                ];
                cookie('c_user',$cookie_data,15552000);         //记住会员登录信息
            }
        }

        /**
         * 根据ip定位当前的城市、获取保存的门店或者后台推荐的门店地址
         * 没有推荐门店或者推荐的门店已经关闭选择默认最早添加的店进行推荐
         */
        $ip = request()->ip();              //获取客户端的IP地址
        $result = get_location_city($ip);   //返回当前的城市信息
        $pinyin = new Pinyin();             //将中文装换成拼音
        $city_key = $pinyin->getAllPY($result['msg']);      //当前城市的key
        $city = db('city')->where('key',$city_key)->find();
        cookie('city_key',$city_key,15552000);      //保持当前城市的代码
        cookie('city_code',$city['code'],15552000);          //城市的代码


        if(empty(cookie('store_id'))){      //没有门店id
            $store = db('city')->alias('a')->join('ys_store b','a.store_id=b.id','LEFT')->where('a.key',$city['key'])->field('b.*')->find();

            if(!empty($store) && ($store['status'] == 0) && ($store['is_deleted'] == 0)){       //推荐了门店并且门店正常营业
                cookie('store_id',$store['id'],15552000);
                session('store_id',$store['id']);
            }else{      //没有推荐的门店或者推荐的门店已经关闭
                $store = db('store')->where('city_code',$city['code'])->where(['status'=>1,'is_deleted'=>0,'city_code'=>$city['code']])->order('id asc')->limit(1)->find();
                if(!empty($store)){     //该城市存在门店
                    session('store_id',$store['id']);
                    cookie('store_id',$store['id'],15552000);
                }else{      //该城市没有正在运营的门店
//                    $store = db('store')->alias('a')->join('ys_city b','a.')
                }
            }
            session('store_id',$city['store_id']);      //推荐的商店id
            cookie('store_id',$city['store_id'],15552000);      //推荐的商店id
            session('city',$city['value']);             //当前选择的城市
            session('city_key',$city_key);
        }else{      //cookie中存在门店id
            $store_id = cookie('store_id');
            cookie('store_id',$store_id,15552000);
            session('store_id',$store_id);
        }

        //微信客户端
        if(is_weixin()){    //微信端
            if(empty(session('openid'))) {
                $oauth = new BasicWechat();     //微信授权登录,获取openID
            }
//            $user = db('user')->where('openid',session('opend'))->find();       //查询会员信息
//
//            if(!empty($user) && $user['status'] == 0){
//                session('user_forbid',1);       //会员被禁用
//            }
//
////            if(session($user) && $user['is_deleted'] == 1){
////                session('user_forbid',1);       //会员被禁用
////            }
//
//            if(!empty($user) && $user['is_deleted'] == 1){
//                session('user_forbid',1);       //会员被禁用
//            }
//
//            if(!empty($user['mobile']) && !empty($user['nickname']) && !empty($user['password'])){
//                session('_user_uid_.uid',$user['uid']);
//                session('_user_uid_.openid',$user['openid']);
//                session('_user_uid_.nickname',$user['nickname']);
//                session('_user_uid_.realname',$user['realname']);
//                session('_user_uid_.mobile',$user['mobile']);
//            }
        }
    }

    /**
     * @Author  lingyun
     * @Desc    空操作
     * @return string
     */
    public function _empty(){
        //把所有城市的操作解析到city方法
        return '操作不存在';
    }


}